//
//  cellSettingViewController.h
//  FCTools
//
//  Created by WJC on 2018/10/25.
//  Copyright © 2018 wjc. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "tableObj.h"
#import "TableTextViewViewCell.h"
#import "switchCellTableViewCell.h"
#import "TableTextFieldViewCell.h"
#import "TableTxtChoiceViewCell.h"
#import "Masonry.h"
#import "FCTIBLTableViewCell.h"
#import "FCImgChoicedTableViewCell.h"
#import "FCChoiceRadiusTableViewCell.h"
    //代理
@protocol settinngViewControllDelegate <NSObject>
/**
 自定义表格内容
 */
-(UITableViewCell*)getOthertableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
/**
 非自定义表格内容
 */
-(void)getComontableView:(UITableView *)tableView andTableViewCell:(UITableViewCell*)cell cellForRowAtIndexPath:(NSIndexPath *)indexPath;

/**
 键盘即将打开
 
 @param notification 键盘内容
 */
@optional
-(void)keyboardWillShowWithNotification:(NSNotification*)notification cellForRowAtIndexPath:(NSIndexPath *)indexPath;

/**
 键盘即将关闭
 
 @param notification 键盘通知
 @param indexPath 编辑行
 @param keyBorardTool 键盘对应控件(UItextfield或uitextview)
 */
@optional
-(void)keyboardWillHideWithNotification:(NSNotification*)notification cellForRowAtIndexPath:(NSIndexPath *)indexPath andkeyBorardTool:(id)keyBorardTool;

@end
@interface cellSettingViewController : UIViewController
@property (nonatomic,assign) BOOL codeDrag;
///顶部跟底部圆角
@property (nonatomic,assign) CGFloat topAndBottomRadiu;
@property (nonatomic,strong) UIColor *lineColor;
/**
 键盘额外高度
 */
@property (nonatomic,assign) CGFloat keyBoardotherHeight;
@property (nonatomic,strong) UITableView *tableView;
@property (nonatomic,strong) NSMutableArray<NSMutableArray <tableObj*>*> *contentArr;
-(void)setTableContent;
@property (nonatomic,assign) BOOL isCloseEdit;
-(void)openKeyBoard:(NSNotification*)notification;
-(void)closeKeyBoard:(NSNotification*)notification;

/**
 传数组kvc输出object数组
 */
-(NSMutableArray*)setCellWithArr:(NSArray*)arr;
-(void)setContentWithArr:(NSArray*)titlearr;
/**
 传数组kvc输出obj
 */
-(tableObj*)setCellWithDic:(NSDictionary*)dic;
/**
 获取某行的value值
 @param cellName 行的名字
 */
-(NSString*)getReturnCellDetailTxtWithCellName:(NSString*)cellName;
/**
 获取某行的other值
 @param cellName 行的名字
 */
-(id)getReturnCellOtherWithCellName:(NSString*)cellName;
/**
 获取某行的cell
 @param cellName 行的名字
 */
-(tableObj*)getReturnCellWithCellName:(NSString*)cellName;
/**
 获取某行的cell
 @param ItemType 行的名字
 */
-(tableObj*)getCellWithCellItemType:(itemType)ItemType;

/**
 获取某行
 @param cellName 行的名字
 */
-(NSIndexPath*)getReturnCellIndexWithCellName:(NSString*)cellName;
/**
 获取某行
 @param ItemType 行的枚举
 */
-(NSIndexPath*)getReturnCellIndexWithItemType:(itemType)ItemType;
-(void)removeCellWithCellName:(NSString*)cellName;
/**
 获取某行的cell
 @param ItemType 行的名字
 */
-(void)removeCellWithCellItemType:(itemType)ItemType;
/**
 设置tableContent
 @param dataAry 每个section的dataAry
 */
-(void)setupTableObj:(NSArray*)dataAry;

@property(nonatomic,strong)void(^freshBlock)(void);
/**
 搜索代理
 */
@property(nonatomic,weak)id<settinngViewControllDelegate> settingDelegate;
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
@end
